package com.imooc.common.structure;

import cn.hutool.json.JSONUtil;
import org.junit.Test;

public class StructureTest {

    @Test
    public void sortTest() {
        int[] arr = {2, 1, 4, 6, 9, 7, 11, 10, 2};
        bubbleSort(arr);
        selectSort(arr);
        System.out.println(JSONUtil.toJsonStr(arr));

    }


    /**
     * 选择排序
     *
     * @param arr
     */
    void selectSort(int[] arr) {
        int minIndex = 0;
        int tmp = 0;
        for (int i = 0; i < arr.length - 1; i++) {
            minIndex = i;
            for (int j = i; j < arr.length - 1; j++) {
                if (arr[minIndex] > arr[j + 1]) {
                    minIndex = j + 1;
                }
            }
            tmp = arr[minIndex];
            arr[minIndex] = arr[i];
            arr[i] = tmp;

        }


    }

    /**
     * 冒泡排序
     *
     * @param arr
     */
    void bubbleSort(int[] arr) {
        for (int i = 0;i < arr.length-1; i++) {
            for (int j = 0; j < arr.length - 1 -i; j++) {
                if (arr[j] > arr[j + 1]) {
                    int tmp = arr[j];
                    arr[j] = arr[j + 1];
                    arr[j + 1] = tmp;
                }
            }

        }
    }

}
